package com.ruoyi.jiuyezu.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 学生，包含学生的基本信息和状态对象 jiuyezu_students
 * 
 * @author wyj
 * @date 2024-07-22
 */
public class Students extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 班级ID */
    @Excel(name = "班级ID")
    private Long classId;

    /** 姓名 */
    @Excel(name = "姓名")
    private String studentName;

    /** 加入的社团（部门） */
    @Excel(name = "加入的社团", readConverterExp = "部=门")
    private String joinedClubs;

    /** 职位（岗位） */
    @Excel(name = "职位", readConverterExp = "岗=位")
    private String position;

    /** 状态ID（引用字典表） */
    @Excel(name = "状态ID", readConverterExp = "引=用字典表")
    private Long dictId;

    /** 是否就业 */
    @Excel(name = "是否就业")
    private Integer isEmployed;

    /** 逻辑删除 */
    @Excel(name = "逻辑删除")
    private Integer isDeleted;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建人ID */
    @Excel(name = "创建人ID")
    private Long createdById;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdDate;

    /** 修改人ID */
    @Excel(name = "修改人ID")
    private Long updateById;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

    /** 审核人 */
    @Excel(name = "审核人")
    private String approvedBy;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approvedDate;

    /** 审核拒绝原因 */
    @Excel(name = "审核拒绝原因")
    private String approvalRejectReason;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setClassId(Long classId) 
    {
        this.classId = classId;
    }

    public Long getClassId() 
    {
        return classId;
    }
    public void setStudentName(String studentName) 
    {
        this.studentName = studentName;
    }

    public String getStudentName() 
    {
        return studentName;
    }
    public void setJoinedClubs(String joinedClubs) 
    {
        this.joinedClubs = joinedClubs;
    }

    public String getJoinedClubs() 
    {
        return joinedClubs;
    }
    public void setPosition(String position) 
    {
        this.position = position;
    }

    public String getPosition() 
    {
        return position;
    }
    public void setDictId(Long dictId) 
    {
        this.dictId = dictId;
    }

    public Long getDictId() 
    {
        return dictId;
    }
    public void setIsEmployed(Integer isEmployed) 
    {
        this.isEmployed = isEmployed;
    }

    public Integer getIsEmployed() 
    {
        return isEmployed;
    }
    public void setIsDeleted(Integer isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Integer getIsDeleted() 
    {
        return isDeleted;
    }
    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }
    public void setCreatedById(Long createdById) 
    {
        this.createdById = createdById;
    }

    public Long getCreatedById() 
    {
        return createdById;
    }
    public void setCreatedDate(Date createdDate) 
    {
        this.createdDate = createdDate;
    }

    public Date getCreatedDate() 
    {
        return createdDate;
    }
    public void setUpdateById(Long updateById) 
    {
        this.updateById = updateById;
    }

    public Long getUpdateById() 
    {
        return updateById;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() 
    {
        return updateDate;
    }
    public void setApprovedBy(String approvedBy) 
    {
        this.approvedBy = approvedBy;
    }

    public String getApprovedBy() 
    {
        return approvedBy;
    }
    public void setApprovedDate(Date approvedDate) 
    {
        this.approvedDate = approvedDate;
    }

    public Date getApprovedDate() 
    {
        return approvedDate;
    }
    public void setApprovalRejectReason(String approvalRejectReason) 
    {
        this.approvalRejectReason = approvalRejectReason;
    }

    public String getApprovalRejectReason() 
    {
        return approvalRejectReason;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("classId", getClassId())
            .append("studentName", getStudentName())
            .append("joinedClubs", getJoinedClubs())
            .append("position", getPosition())
            .append("dictId", getDictId())
            .append("isEmployed", getIsEmployed())
            .append("isDeleted", getIsDeleted())
            .append("remark", getRemark())
            .append("createdBy", getCreatedBy())
            .append("createdById", getCreatedById())
            .append("createdDate", getCreatedDate())
            .append("updateBy", getUpdateBy())
            .append("updateById", getUpdateById())
            .append("updateDate", getUpdateDate())
            .append("approvedBy", getApprovedBy())
            .append("approvedDate", getApprovedDate())
            .append("approvalRejectReason", getApprovalRejectReason())
            .toString();
    }
}
